package com.nj.dms.dao;

import java.util.List;

import com.nj.dms.bean.User;

/**
 * 实现用户增删查改方法
 * 
 * @author Administrator
 */
public interface UserDao {

	/**
	 * 增加用户
	 * 
	 * @param user
	 * @return
	 */
	boolean addUser(User user);

	/**
	 * 保存用户
	 * 
	 * @param user
	 * @return
	 */
	boolean saveUser(User user);

	/**
	 * 保存自己的数据
	 * 
	 * @param user
	 * @return
	 */
	boolean saveMyData(User user);

	/**
	 * 删除用户
	 * 
	 * @param id
	 * @return
	 */
	boolean deleteUser(int id);

	/**
	 * 删除多个用户
	 * 
	 * @param ids
	 * @return
	 */
	boolean deleteAllUser(String[] ids);

	boolean deleteAllUserByBatch(String[] ids);

	/**
	 * 修改一个用户
	 * 
	 * @param user
	 * @return
	 */
	boolean updateUser(User user);

	/**
	 * 判断登录的用户是否存在
	 * 
	 * @param user
	 * @return
	 */
	boolean findUserByLogin(User user);

	/**
	 * 检查用户名是否重复
	 * 
	 * @param username
	 * @return
	 */
	boolean findUserByName(String userName);

	/**
	 * 通过ID查找一个用户
	 * 
	 * @param id
	 * @return
	 */
	User findUser(int id);

	/**
	 * 用过用户名查找一个用户
	 * 
	 * @param userName
	 * @return
	 */
	User findUser(String userName);

	/**
	 * 查找所有的用户信息
	 * 
	 * @return
	 */
	List<User> findUsers();

	/**
	 * 查询指定页的记录数
	 * 
	 * @param beginIndex
	 * @param maxSize
	 * @return
	 */
	List<User> findUserByPage(int beginIndex, int maxSize);

	/**
	 * 统计用户记录总数
	 * 
	 * @return
	 */
	int countUsers();

	/**
	 * 修改密码
	 * 
	 * @return
	 */
	boolean updatePassword(String userName, String newPassword);

}
